Control systems are widely used today for machines, devices and industrial and economic processes. A configuration for a general control system is shown in FIG. 1. The system to be controlled (10) is connected in a feedback configuration with controller (12) which attempts to drive the system output (18) to the value of reference input (14). System output (18) is fed back via feedback path (16) where it is subtracted from reference input (14) to form an error signal (22). This error signal (22) is processed by controller (12) to generate a control output (20) which is in turn fed to the input of system (10). While there are a whole host of different control configurations and structures in use today, one with ordinary skill-in-the-art will realize that FIG. 1 represents the basic building block for these controllers.
The example of a particular controller implementation is a so-called PID or proportional, integral and derivative controller. This controller is so named since its control output is derived from a weighted sum of the input, the integral of the input, and the derivative of the input. This control strategy is widely used in industry possibly due to the fact that it is available as an off-the-shelf unit. However, the PID controller suffers from two major disadvantages: 1. It is difficult to determine (or tune) the control coefficients of a controller for a particular application; and 2. The simplicity of the control law makes this controller unsuitable for highly complex, high-order or highly nonlinear systems.
One method for tuning the parameters of a PID controller was developed by Ziegler and Nichols. The Ziegler/Nichols method, as known to those skilled in the art, is intended for manual tuning of the control parameters, and thus requires intervention by a skilled operator. A second method of tuning a PID controller was presented by Stuckman et al. in "System Optimization Using Experimental Evaluation of Design Performance", Engineering Optimization Vol. 16, 1990, pp. 275-289, and "Iterative Global Design of PID Controllers for Systems Without Models", Proceedings Of the 17th IASTED International Symposium--Simulation and Modelling, June 1989, pp. 320-321. This method, while operating automatically, uses a complicated Bayesian global optimization methodology which requires extraordinary amounts of computation to converge upon a set of control parameters. Further, this auto-tuning controller is limited by the fundamental limitations of the underlying PID control structure and again is not suitable for many highly complex or nonlinear systems.
An additional class of control implementation is the so-called self-tuning adaptive controller. In this strategy, the system to be controlled is extensively modeled and the model is continuously updated mathematically based upon the performance of the system. While providing suitable performance for some applications, adaptive controllers require an extremely complicated control algorithm and extensive computation in their implementation. Further, a very accurate model of the system is required for the adaptive controller to effectively operate. The performance of the controller rapidly degrades when error between the model and the actual system is above nominal levels.
A further example of control implementation is the fuzzy logic controller. The fuzzy logic controller makes control decisions based upon a series of fuzzy logic rules which transform the control input into a control output via a nonlinear transfer characteristic. While the performance of the fuzzy logic controller is robust, in that it is capable of maintaining an adequate control even in the presence of substantial error between the system model and the actual system, the parameters of the fuzzy logic controller are difficult to tune given their nonintuitive relationship to the system output. Further, experience has shown that it is difficult to implement fuzzy logic controller designs for large and complicated systems.
Another class of control implementations is the polynomial controller. In the polynomial controller, the control output is a polynomial function of the control input. A method for tuning a polynomial controller was presented by Stuckman and Laursen, "A Method of Control System Design Using Global Search", IEEE Transactions on Automatic Controls, Vol. AC-34, No. 1, January 1989. This method uses a complicated Bayesian global optimization methodology which requires an extraordinary amount of computation. Further, this method is only operable for low-dimensional systems and has not been shown to function for polynomial controllers with more than ten terms. Therefore, there is a significant need for a controller which is relatively robust, in that it is capable for providing adequate control when significant error is present between the model and the actual system. Further, there is also a significant need for a control system in which the parameters can be tuned automatically. Further, a significant need exists for a controller design which is capable of handling high-dimensional, highly complex, and nonlinear systems. In addition, a significant need exists for a method of tuning the parameters of the controller which provides for a short product development cycle, in that the tuning can be performed in a relatively simple and efficient manner by one who is not necessarily a control expert.